{{tag>programmation}}
----

====== Qt ======
[[wpfr>Qt|Qt]] (prononcé officiellement en anglais cute (/kjuːt/) mais erronément couramment prononcé Q.T.) est un framework orienté objet et développé en C++ par Qt Development Frameworks, filiale de Nokia. Il offre des composants d'interface graphique (widgets), d'accès aux données, de connexions réseaux, de gestion des fils d'exécution, d'analyse XML, etc. Qt est par certains aspects un framework lorsqu'on l'utilise pour concevoir des interfaces graphiques ou que l'on architecture son application en utilisant les mécanismes des signaux et slots par exemple.

Qt est notamment connu pour être la bibliothèque sur laquelle repose l'environnement graphique KDE, l'un des environnements de bureau les plus utilisés dans le monde Linux.

Ce framework est sous double licence jusqu'à sa version 4.5: GNU GPL pour les applications au code source ouvert, licence payante pour les applications propriétaires. Les versions 4.5/4.6/4.7, de Qt sont disponibles sous licence LGPL, Cette nouvelle licence permet ainsi des développements de logiciels propriétaires, sans nécessiter l'achat d'une licence commerciale auprès de Qt Development Frameworks..


==== Nokia Qt SDK (le SDK pour mobile)  ====
Nokia a sorti un SDK spéciale pour le développement d’application mobile (Symbian, Maemo) ...
Il contient Qt Simulator et l'émulateur de Maemo.

[[http://www.forum.nokia.com/Develop/Qt/ | Page officiel du SDK]]


===== Installation du framework =====
Pour installer le framwork Qt, il faut installer le paquet [[apt://libqt4-dev|libqt4-dev]] (dans les dépôts canonical).

Pour régler certain problème de compatibilité vous pouvez [[http://qt.nokia.com/downloads/sdk-linux-x11-32bit-cpp|télécharger la dernière version]][[http://qt.nokia.com/downloads/linux-x11-cpp|(ou juste le framework)]] sur le [[http://qt.nokia.com/downloads/downloads#lgpl|site officiel]].

Rendre le .bin exécutable, clic droit -> Propriété -> Onglet Permissions -> Cocher "Autoriser l’exécution du fichier comme un programme" ou :
<code>
chmod u+x qt-sdk-linux-x86-opensource-2009.01.bin
</code>

Exécuter le bin, lancer dans un terminal :
<code>
./qt-sdk-linux-x86-opensource-2009.01.bin 
</code>

Si vous rencontrez un message vous disant d'installer un compilateur C++, installer le paquet [[apt://g++|g++]].

===== Installation du framework par les sources =====
  - apt-get install tofrodos build-essential
  - cd ~/votre_rep/Qt-everywhere-opensource-4.6.3/
  - dos2unix configure
  - chmod 755 configure
  - ./configure 
  - make
  - sudo make install
  - export $PATH=$PATH:/usr/local/TrollTech/Qt-4.6.3/bin/ # a mettre dans votre .bashrc pour ne pas le refaire a chaque utilisation

===== Installation de Qt-Mobility =====
Qt-Mobility est une librairie qui permet le développement d'application mobile (gestion du GPS, gestion de contacts, gestion de l'appareil photo, mais aussi gestion son vidéo cross-plateforme : linux, symbian, maemo, windows...)


  - Télécharger QtMobility sur le site de Qt (ici 1.0.2 fonctionnant avec Qt.4.6.3)
  - tar -xf qt-mobility-opensource-src-10.2.tar.gz #decompression de l'archive
  - cd qt-mobility-opensource-src-10.2/
  - dos2unix configure #permet de palier à un bug de Qt : fichier de conf encodé pour windows :-(
  - chmod 755 configure
  - ./configure -examples #important ! 
  - make
  - sudo make install

Enjoy !

===== Compilations de programmes Qt =====
La méthode générale pour compiler un programme créé avec le framwork Qt est
<code>qmake -project</code>
Cette commande sert à générer un fichier de projet (.pro). Si vous avez téléchargé un programme à compiler, il y a de fortes chances pour qu'un fichier .pro soit présent et que cette commande ne soit pas nécessaire
<code>qmake
make
sudo make install</code>
==== IDE ====
Bien que ceux-ci ne soient pas indispensable il existe de très bons IDE pour développer avec Qt.

=== QtCreator ===

[[qt-creator|QtCreator]] est l'IDE directement proposé par Nokia réalisé lui même en Qt, il comprends les fonctionnalités classiques : la coloration syntaxique, l'indentation, la complétion...\\


=== Eclipse ===
Un plugin d'intégration dans l'IDE Eclipse est fourni depuis la version Qt4.2. 
[[http://qt.nokia.com/developer/eclipse-integration|Ce plugin peut être trouvé ici]]

=== Autres IDE ===
Il existe aussi d'autres IDE comme [[http://biord-software.org/fr/qdevelop/|QDevelop]]

===== Outils de développement =====
Pour développer avec le framwork Qt, plusieurs programmes sont très utiles.

==== Qt designer ====
Ce programme permet de réaliser simplement vos fenêtre grâce à une application graphique. Les fichiers .ui générés pourront ensuite être intégrés à vos programmes utilisant Qt. Pour l'installer, il faut installer le paquet [[apt://qt4-designer|qt4-designer]]

{{:Qt-Designer.png|}}

==== Qt assistant ====
Il s'agit d'un programme permettant de consulter la documentation de Qt hors ligne. Pour l'installer, il faut installer le paquet [[apt://libqt4-assistant]].
{{:Qt-Assistant.png|}}


===== Voir aussi =====
  * **(fr)** [[http://qt.nokia.com/title-fr?set_language=fr&cl=fr|Site officiel]]
  * **(en)** [[http://qt.nokia.com/doc/|Documentation officielle]]
  * **(en)** [[http://www.qtrac.eu/marksummerfield.html|Site d'un auteur de livres sur la programmation en Qt]]
  * **(fr)** [[http://www.siteduzero.com/tutoriel-3-11406-apprenez-a-programmer-en-c.html|Apprenez à programmer en C++]], sur le Site du Zéro
  * **(fr)** [[http://qt.developpez.com/|Club des développeurs Qt]] sur Développez.com
  * **(fr)** [[http://www.cppfrance.com/k-code-qt.aspx|Qt, tous les codes source et scripts en rapport]] sur cppfrance.com
  * **(fr)** [[http://www.qtfr.org/|La communauté francophone Qt fr]]
  * **(en)** [[http://www.hotscripts.com/category/c-cpp/scripts-programs/|Scripts et programmes]], et [[http://www.hotscripts.com/category/c-cpp/|autres ressources]] sur hotscripts.com

----
//Contributeurs : [[utilisateurs:geenux|Geenux]]//